package org.javamianshi.core;

/**
 * Created by Fan on 2017/3/2.
 */

/**
 * 在调用子类构造器之前，会先调用父类的构造器，当子类构造器中没有使用super(参数或无惨)
 * 指定调用父类构造器时，是默认调用父类的无参构造器，如果父类中包含有参构造器，却没有无参构造器，
 * 则在子类构造器中一定要使用”super(参数)“指定调用父类的有残构造器，否则无法编译
 *
 */
public class Derived {

    public Derived(String c) {
        /**
         * 子类构造方法在调用时必须先调用父类的构造方法，由于父类没有无参构造方法，
         * 必须在子类中显示调用
         */
        System.out.println("D");
        System.out.println(Class.class);
        System.out.println(Class.class.getName());
    }

    public static void main(String[] args) {
        new Derived("C");
    }
}
class Base{
    public Base(String c){
        System.out.println("B");
    }
}
